<?php

class Funciones_Basicas
{

    function fecha_sql($fecha, $tipo)
    {
        $rest = substr($fecha, -9);

        if ($tipo == 'larga')
        {
            $fecha = $fecha[6] . $fecha[7] . $fecha[8] . $fecha[9] . "-" . $fecha[3] . $fecha[4] . "-" . $fecha[0] . $fecha[1] . $rest;
            return $fecha;
        }
        elseif ($tipo == 'corta')
        {
            $fecha = $fecha[6] . $fecha[7] . $fecha[8] . $fecha[9] . "-" . $fecha[3] . $fecha[4] . "-" . $fecha[0] . $fecha[1];
            return $fecha;
        }
        else
        {
            return "error";
        }
    }

    function sql_fecha($fecha, $tipo)
    {
        $rest = substr($fecha, -9);

        if ($tipo == 'larga')
        {
            $fecha = $fecha[8] . $fecha[9] . "/" . $fecha[5] . $fecha[6] . "/" . $fecha[0] . $fecha[1] . $fecha[2] . $fecha[3] . $rest;
            return $fecha;
        }
        elseif ($tipo == 'corta')
        {
            $fecha = $fecha[8] . $fecha[9] . "/" . $fecha[5] . $fecha[6] . "/" . $fecha[0] . $fecha[1] . $fecha[2] . $fecha[3];
            return $fecha;
        }
        else
        {
            return "error";
        }
    }

    function select_compare($var1, $var2)
    {
        if ($var1 == $var2)
        {
            return "selected='selected'";
        }
        else
        {
            return "";
        }
    }

    function get_real_ip()
    {
        if (!empty($_SERVER['HTTP_CLIENT_IP']))
            return $_SERVER['HTTP_CLIENT_IP'];

        if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
            return $_SERVER['HTTP_X_FORWARDED_FOR'];

        return $_SERVER['REMOTE_ADDR'];
    }

    function nube_etiquetas()
    {
        
        $CI =& get_instance();
        $CI->load->model('etiquetas_model'); 
        $rows = $CI->etiquetas_model->list_tag_group();
        
        foreach ($rows as $var)
        {
            if($var['cantidad']>1)
            $tags[$var['nombre']] = $var['cantidad'];
        }

        //obtenemos el valor mas Alto y a partir de ahi 
        //obtenemos los rangos de Porcentaje para comparar
        $max_qty = max(array_values($tags));
        $per10 = round(($max_qty * .1));
        $per20 = round(($max_qty * .2));
        $per30 = round(($max_qty * .3));
        $per40 = round(($max_qty * .4));
        $per50 = round(($max_qty * .5));
        $per60 = round(($max_qty * .6));
        $per70 = round(($max_qty * .7));
        $per80 = round(($max_qty * .8));
        $per90 = round(($max_qty * .9));

        $i = 0;
        //Ahora si hacemos otro Ciclo para recorrer el 
        //Array comparar los Valores vs Porcentajes e Imprimimos el Tag
        foreach ($tags as $key => $value)
        {
            $i++;
            //Reinicializar Variables
            $porcentaje = 0;
            $estilo = 0;
            $color="";

            //Calcular el Porcentaje Real
            $porcentaje = round(($value / $max_qty) * 100);

            if ($value >= $per90)
            {
                $estilo = 24;
                $color="#FF4000";
                
            }
            else if ($value >= $per80)
            {
                $estilo = 22;
                $color="#FF4000";
            }
            else if ($value >= $per70)
            {
                $estilo = 20;
                $color="#FF4000";
            }
            else if ($value >= $per60)
            {
                $estilo = 18;
                $color="#FF8000";
            }
            else if ($value >= $per50)
            {
                $estilo = 16;
                $color="#FF8000";
            }
            else if ($value >= $per40)
            {
                $estilo = 14;
                $color="#FF8000";
            }
            else if ($value >= $per30)
            {
                $estilo = 12;
                $color="#FE9A2E";
            }
            else if ($value >= $per20)
            {
                $estilo = 12;
                $color="#FE9A2E";
            }
            else if ($value >= $per10)
            {
                $estilo = 12;
                $color="#FE9A2E";
            }
            else
            {
                $estilo = 11;
                $color="#FE9A2E";
            }
            //$etiquetas[$i] = '<a class="a_etiquetas" href="san-rafael/' . $key . '" style="font-size: ' . $estilo . 'px"  title="' . $value . ' veces que se encontro este tag ' . $key . '">' . $key . '</a>';
            //$etiquetas[$i] = '<span style="font-size:'.$estilo.'px" >'.$key.' </span>';

            //creo un array dentro de otro array para recorrer con el foreach por keys en la vista
            $eti = array(
                'url'    => $key, 
                'estilo' => $estilo,
                'valor'  => $value,
                'color' => $color
                );

            if ($i <= 1)
            {
                //Instancio el array con el primer valor tomado
                $etiquetas[] = $eti;
            }
            else
            {
                //sigo metiendo datos como en una pila, si trato de meter datos directamente con el push
                //tira error porque tiene que haber un elemento existente en el array para poder usar esta funcion
                array_push($etiquetas, $eti);
            }
            
        }

        
        return $etiquetas;
    }

    //no usada
    /*function rubros_list_index($rows, $url)
    {
        $i = 0;
        foreach ($rows as $var)
        {
            $i++;
            $rubros[$i] = '<img src="' . $url . 'images/rubros/' . $var['nombre_imagen'] . '" height="15" width="15" /> <a class="a_rubros" href="' . $url . 'san-rafael/' . $var['nombre'] . '">' . $var['nombre_url'] . '<a>';
        }

        return $rubros;
    }*/
    
    function array_simple($array,$campo)
    {
        if($array!=null)
        {
            $i=0;

            foreach($array as $var)
            {
                $array_simple = $var[$campo];
                $i++;
            }
            
            return $array_simple;
        }    
        else
        {
            $array_simple[0]=0;
            return $array_simple;
        }
            
        
    }
    
    function str_telefonos_save($str_numeros, $tipo_tel, $empresa_id)
    {
        $CI =& get_instance();
        $CI->load->model('telefonos_model'); 
        
        $CI->telefonos_model->delete_empresa_id($empresa_id, $tipo_tel);
        
        if ($str_numeros != "")
        {

            $array_numeros = explode(",", $str_numeros);
            $prefijo = "";
            $numero = "";
            foreach ($array_numeros as $var)
            {
                if (stripos($var, "-") !== false)
                {
                    $array_pre_num = explode("-", $var);
                    $prefijo = $array_pre_num[0];
                    $numero = $array_pre_num[1];
                }
                else
                {
                    if ($tipo_tel == "3")
                    {
                        $prefijo = "";
                        $numero = $var;
                    }
                    else
                    {
                        $prefijo = "260";
                        $numero = $var;
                    }
                }

                $fields_tel = array(
                    'prefijo' => trim($prefijo),
                    'numero' => trim($numero),
                    'tipo' => $tipo_tel,
                    'empresa_id' => $empresa_id
                );

                $CI->telefonos_model->insert($fields_tel);
            }

            return true;
        }
        else
        {
            return false;
        }
    }

    function str_etiquetas_save($str_etiquetas, $empresa_id)
    {
        $CI =& get_instance();
        $CI->load->model('etiquetas_model'); 
        
        $CI->etiquetas_model->delete_empresa_id($empresa_id);

        if ($str_etiquetas != "")
        {
            $array_etiquetas = explode(",", $str_etiquetas);

            foreach ($array_etiquetas as $var)
            {
                $var = trim($var);

                $fields = array(
                    'empresa_id' => $empresa_id,
                    'nombre' => trim($var)
                );

                $CI->etiquetas_model->insert($fields);
            }

            return true;
        }
        else
        {
            return false;
        }
    }

    function str_etiquetas_show($empresa_id)
    {
        $CI =& get_instance();
        $CI->load->model('etiquetas_model'); 
        $query_rows = $CI->etiquetas_model->list_empresa_id($empresa_id);
        $rows = $query_rows->result();
        $str_etiquetas = "";

        if ($query_rows->num_rows() > 0)
        {
            foreach ($rows as $var)
            {
                $str_etiquetas = $var->nombre . "," . $str_etiquetas;
            }
            $str_etiquetas = substr($str_etiquetas, 0, strlen($str_etiquetas) - 1);

            return $str_etiquetas;
        }
        else
        {
            return "";
        }
    }
    
     function str_rubros_save($str_rubros, $empresa_id)
     {
        $CI =& get_instance();
        $CI->load->model('rubros_model'); 
        
        $CI->rubros_model->delete_empresa_id($empresa_id);

        if ($str_rubros != "")
        {
            $array_rubros = explode(",", $str_rubros);

            foreach ($array_rubros as $var)
            {
                $var = trim($var);

                $fields = array(
                    'empresa_id' => $empresa_id,
                    'url' => trim($var)
                );

                $CI->rubros_model->insert($fields);
            }

            return true;
        }
        else
        {
            return false;
        }
    }
    
    function str_rubros_show($empresa_id)
    {
        $CI =& get_instance();
        $CI->load->model('rubros_model'); 
        $query_rows = $CI->rubros_model->list_empresa_id($empresa_id);
        $rows = $query_rows->result();
        $str_rubros = "";

        if ($query_rows->num_rows() > 0)
        {
            foreach ($rows as $var)
            {
                $str_rubros = $var->url . "," . $str_rubros;
            }
            $str_rubros = substr($str_rubros, 0, strlen($str_rubros) - 1);

            return $str_rubros;
        }
        else
        {
            return "";
        }
    }

    function str_telefonos_show($empresa_id, $tipo)
    {
        $CI =& get_instance();
        $CI->load->model('telefonos_model'); 
        
        //$CI->telefonos_model->delete_empresa_id($empresa_id, $tipo);
        $query_rows = $CI->telefonos_model->list_empresa_id($empresa_id, $tipo);
        $rows = $query_rows->result();
        $str_numeros = "";

        if ($query_rows->num_rows() > 0)
        {
            foreach ($rows as $var)
            {
                if ($tipo == 1 || $tipo == 2)
                    $str_numeros = $var->prefijo . "-" . $var->numero . "," . $str_numeros;
                else
                    $str_numeros = $var->numero . "," . $str_numeros;
            }
            $str_numeros = substr($str_numeros, 0, strlen($str_numeros) - 1);

            return $str_numeros;
        }
        else
        {
            return "";
        }
    }
    
    function sumar_visitas($empresa_id,$ip,$navegador)
    {

        $CI =& get_instance(); 
        
        $query=sprintf("select count(id) as cantidad from visitas where empresa_id=%s and ip='%s'",$empresa_id,$ip);
        $row = $CI->db->query($query);
        $row = $row->row();
        $row = $row->cantidad;
        
        if($row == 0)
        {
            $array_insert = array(
            'ip' => $ip,
            'navegador' => $navegador,
            'empresa_id' => $empresa_id
            );
        
            $CI->db->insert('visitas',$array_insert);
        }
        
        //Calculo total visitas
        $tope_visitas=50;
        
        $query=sprintf("select count(id) as cantidad from visitas where empresa_id=%s",$empresa_id);
        $row = $CI->db->query($query);
        $row = $row->row();
        $empresa_visitas=$row->cantidad;
        
        $total = ($empresa_visitas * 100)/$tope_visitas;
        $total = ($total * 5)/100;
        $total = round($total,1);
        
        if($total>5)
        {
            $total=5;
        }
            
        $array= array($total,$empresa_visitas);
       
        
        return $array;
    }
    
    
    function convertir_rubros()
    {
        
        $CI =& get_instance(); 
        
        //consulta general
        $query="select rubros_url,tipo_url,nombre from rubros_nombres where tipo_menu='menu' order by orden";
        $rows = $CI->db->query($query);
        $rows = $rows->result_array();
        //instancio el objeto que sera devuelto 
        $final[]="";
        $co=0;
        
        //####1ºbucle
        foreach($rows as $var)
        {
            //Contador para saber cuando el objeto no tiene valores o si
            $co++;
            $query=  sprintf("select rubros_url,nombre from rubros_nombres where tipo_url=%s and visibilidad=1 and tipo_menu='submenu'",$var['tipo_url']);
            $ro = $CI->db->query($query);
            $ro = $ro->result_array();
            
            $ba[]="";
            $count=0;
            
            //###### 2º bucle
            foreach($ro as $va)
            {
                $count++;
            
                $a=array(
                    'rubros_url' => $va['rubros_url'],
                    'nombre' => $va['nombre']
                    );
                //Si es uno en el lugar 0 del array lo igualo al array creado anteriormente
                if($count==1)
                {
                    $ba[0]=$a;
                }
                //sino pujo como una pila ingresando mas valores al array
                else
                {
                    array_push($ba,$a);
                }
            }
            
            $c=array(
                
                'rubros_url' => $var['rubros_url'],
                'nombre' => $var['nombre'],
                'submenu' => $ba
                
            );
            $ba="";
            
            if($co==1)
            {
                $final[0]=$c;
            }
            else
            {
                array_push($final, $c);
            }

        }
        
        
        return $final;
    }


}

?>
